package cn.tqfeiyang.smartadmin.commons.security;

/**
 * 用户加载器
 *
 * @author tqfeiyang
 * @since 2024/10/16 11:44
 */
public interface IUserLoader {

    /**
     * 根据用户账号查找用户详情
     *
     * @param username 用户账号、也可以是电子邮件或者手机号
     * @return 用户详情，如果找不到则返回null
     */
    default UserDetails findUserDetails(String username) {
        return null;
    }

    /**
     * 根据用户id查找用户详情
     *
     * @param userId 用户id
     * @return 用户详情，如果找不到则返回null
     */
    default UserDetails findUserDetails(Long userId) {
        return null;
    }
}
